x86/mm/p2m: Fix locking discipline around p2m lookups.
authorTim Deegan <Tim.Deegan@citrix.com>
Thu, 2 Jun 2011 12:16:52 +0000 (13:16 +0100)
committerTim Deegan <Tim.Deegan@citrix.com>
Thu, 2 Jun 2011 12:16:52 +0000 (13:16 +0100)
commit801827bf8d95db56b98e55719a6f99d17c9b78eb
tree07100a6c8f4738495f21f8f074c3b10ef43cb992
parenteb4fb7f1e4c3c368a3510ce245e957312cbeed97
x86/mm/p2m: Fix locking discipline around p2m lookups.

All gfn_to_mfn* functions except _query() might take the p2m lock,
so can't be called with a p2m, shadow, hap or log_dirty lock held.
The remaining offender is the memory sharing code, which calls
_unshare() from inside the pagetable walker!  Fixing that is too big
for a cleanup patch like this one.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
xen/arch/x86/hvm/mtrr.c
xen/arch/x86/mm/p2m.c
xen/arch/x86/mm/shadow/common.c
xen/include/asm-x86/p2m.h